package com.njwb.day07;

import java.util.Arrays;

public class TestString{
        public static void main(String[] args) {
            //String常用方法介绍
            //创建方式
            String str="hello";
            System.out.println(str);//hello
            String str2=new String();
            System.out.println(str2);//""
            byte[] b={1,2,3,4};
            String str3=new String(b);
            System.out.println(str3);
            String str4=new String("hello");
            System.out.println(str4);//hello
            System.out.println("=================");
            //常用方法
            //返回指定索引处的 char 值。
            String s="hello world";
            char c=s.charAt(4);
            System.out.println(c);//o
            //System.out.println(s.charAt(100));//StringIndexOutOfBoundsException
            //按字典顺序比较两个字符串。
            s="hello world";
            int result=s.compareTo("hello world");
            System.out.println(result);//0
            System.out.println(s.compareTo("hello world Node"));//非0
            //将指定字符串连接到此字符串的结尾。
            s="hello";
            System.out.println(s+" world");//hello world
            String newStr=s.concat(" world");//hello world
            System.out.println(s);//hello
            System.out.println(newStr);//hello world
            //测试此字符串是否以指定的前缀开始。
            s="hello world";
            boolean bl=s.startsWith("h");
            System.out.println(bl);//true
            System.out.println(s.startsWith("hel"));//true
            System.out.println(s.startsWith("el"));//false
            //测试此字符串是否以指定的后缀结束。
            System.out.println(s.endsWith("ld"));//true
            System.out.println(s.endsWith("l"));//false
            //将此字符串与指定的对象比较。
            s="abc";
            bl=s.equals("abc");
            System.out.println(bl);//true
            System.out.println("aaa".equals(s));//false
            testEquals();
            //返回指定子字符串在此字符串中第一次出现处的索引。
            s="hello world";
            int index=s.indexOf("l");
            System.out.println(index);//2
            //返回指定子字符串在此字符串中第一次出现处的索引，从指定的索引开始。
            System.out.println(s.indexOf("l",2));//2
            //返回此字符串的长度。
            s="hello world";
            System.out.println(s.length());//11
            System.out.println("   abc   ".length());//9
            //替换此字符串
            s="hello world";
            newStr=s.replace('l','x');
            System.out.println(newStr);//hexxo worxd
            newStr=s.replace("o w","ow");
            System.out.println(newStr);//helloworld
            //分割
            s="hello world";
            String[] arr=s.split(" ");//{"hello","world"}
            System.out.println(Arrays.toString(arr));
            System.out.println(arr[0]);//hello
            arr=s.split("");
            System.out.println(Arrays.toString(arr));
            //截取
            s="hello world";
            newStr=s.substring(3);
            System.out.println(newStr);//lo world
            System.out.println(s.substring(3,9));//lo wor
            //转换大小写
            s="hello WORLD";
            System.out.println(s.toLowerCase());//HELLO WORLD
            System.out.println(s.toUpperCase());//hello world
            //去除前后空格
            s="    hello WORLD   ";
            System.out.println(s.length());
            newStr=s.trim();
            System.out.println(newStr);
            System.out.println(newStr.length());
        }

        public static void testEquals(){
            String str="hello";
            String str2=new String("hello");
            System.out.println(str);//hello
            System.out.println(str2);//hello
            System.out.println(str.equals(str2));//true
                                //地址
            System.out.println(str==str2);//false
        }
}
